// 用户修改模块
const { User } = require('../../model/user')
const bcrypt = require('bcrypt')

module.exports= async (req,res,next)=>{
    // 要修改的用户信息
      const {username,email,password,role,state}=req.body;
    //   即将要修改的用户id
     const id = req.query.id;

     let user =await User.findOne({_id:id});
    //  bcrypt.compare这是一个异步方法，所以要用await
     const  isValid =await bcrypt.compare(password,user.password)
     if(isValid){
           await User.updateOne({_id:id},{
            //  mongodb修改数据未成功，但没报错.可能就是你某个单词拼错了
             username:username,
             email:email,
             role:role,
             state:state
           })
           res.redirect('/admin/user')
     }else{
          let obj={path:'/admin/user-edit',message:'密码不正确,不能进行修改',id:id}
        //   转入重定向，next接收只一个字符串参数，所以转为stringify
          next(JSON.stringify(obj))
     }

}